require('./client');



// 在使用redux-amrc前，需要进行一些配置工作

// 1．添加异步中间件。从redux-amrc中导入asyncMiddleware，然后将其添加到中间件列表中
// 2．配置reducer。从redux-connect中导入reducerCreator，这是一个生成reducer的函数，在大多数情况下，只需要将其运行结果合并到rootReducer中即可



// redux-amrc的接口有三个，分别是asyncMiddleware、ASYNC和reducerCreator，它们的含义及用法如下

// 1. asyncMiddleware 对应 redux-amrc 中的 "am"，它是一个异步中间件，用于封装一些常用的异步逻辑。
// 2. ASYNC 是 redux-amrc 提供的一个 Symbol 对象，用于让异步中间件从众多 action 创建函数中筛选出指定的 action 创建函数。
//      它被作为对象的属性由 action 创建函数返回。该属性也接受一个对象，这个对象包含 key 和 promise 两个属性。
// 3. reducerCreator 对应 redux-amrc 中的 “rc”，它是一个reducer创建函数，即生成reducer的函数。
//      大多数情况下，只需要直接运行reducerCreator，并将其运行结果合并到rootReducer中即可，但该函数也可以接受reducers作为可选参数，以便更新state. async.[key]节点上的数据。


// 总结:
// 1. redux-amrc封装了Redux中的重复性异步操作。只需要将Promise和key值传给redux-amrc，它会完成接下来所有的异步工作。

// 2. 在路由组件的onEnter中发起redux-amrc定制的action创建函数，可以实现数据预载。

// 3. 在用户操作所触发的函数中发起redux-amrc定制的action创建函数，可以实现手动加载数据。

// 4. 想要操作redux-amrc中的数据，应该将处理action的reducer组合为对象，然后将该对象作为参数传入reducerCreator中。
